home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / ip / ka9q / net_des.arc / DESCRC.C < prev    next >
C/C++ Source or Header  |  1988-05-05  |  782b  |  38 lines

  1. /* Compute an "authentication code" or "cipher checksum" on a file by
  2.  * using DES as a one-way function. Useful for detecting file corruption
  3.  * by viruses, etc.  5 May 1988 Phil Karn
  4.  */
  5. #include <stdio.h>
  6. main(argc,argv)
  7. int argc;
  8. char *argv[];
  9. {
  10.     int mode = 0;
  11.     char tmp[8];
  12.     char buf[8];
  13.     int c;
  14.  
  15.     while((c = getopt(argc,argv,"f")) != EOF){
  16.         switch(c){
  17.         case 'f':
  18.             mode = 1;    /* DES without permutations */
  19.             break;
  20.         }
  21.     }
  22.     desinit(mode);
  23.     memset(tmp,'\0',8);
  24.     while(fread(buf,1,8,stdin) != 0){
  25.         setkey(buf);
  26.         endes(tmp);
  27.     }
  28.     printf("Cipher Checksum: %02x %02x %02x %02x %02x %02x %02x %02x\n",
  29.         tmp[0] & 0xff,
  30.         tmp[1] & 0xff,
  31.         tmp[2] & 0xff,
  32.         tmp[3] & 0xff,
  33.         tmp[4] & 0xff,
  34.         tmp[5] & 0xff,
  35.         tmp[6] & 0xff,
  36.         tmp[7] & 0xff);
  37. }
  38.